home *** CD-ROM | disk | FTP | other *** search
- /* ==========
- * PedTask.hh
- * ==========
- *
- * Implemented by PedTask.cc
- */
-
- #pragma once
-
- #include "NGLList.hh"
-
- #include "PedObject.hh"
-
- class PedChore;
-
- typedef NGLList<PedChore *> PedQueueChore;
-
- class PedTask : public PedObject {
- public:
- PedTask(PedTask *inParent);
- virtual ~PedTask();
-
- virtual const char *Name() const;
- virtual void SetName(const char *inName);
-
- virtual void AddSubtask(PedTask *inTask);
- virtual void RemoveSubtask(PedTask *inTask);
-
- virtual void ScheduleRepeatChore(PedChore *inChore);
- virtual void UnscheduleRepeatChore(PedChore *inChore);
- virtual void ScheduleIdleChore(PedChore *inChore);
- virtual void UnscheduleIdleChore(PedChore *inChore);
-
- virtual void DoRepeatChores();
- virtual void DoIdleChores();
-
- virtual void RunQueue(PedQueueChore &inQueue);
-
- protected:
- PedTask *mParent;
- char *mName;
- NGLList<PedTask *> mSubTasks;
- PedQueueChore mRepeatQueue;
- PedQueueChore mIdleQueue;
- };
-